import { keys } from 'lodash'
import AccessSwitch from '@/assets/icons/access_switch.png'
import AggregationSwitch from '@/assets/icons/aggregation_switch.png'
import Aliyun from '@/assets/icons/aliyun.png'
import AntiVirusWall from '@/assets/icons/anti-virus_wall.png'
import AppCluster from '@/assets/icons/app_cluster.png'
import ApplicationLoadBalancing from '@/assets/icons/application_load_balancing.png'
import Apt from '@/assets/icons/apt.png'
import Client from '@/assets/icons/client.png'
import CoreSwitch from '@/assets/icons/core_switch.png'
import DbCluster from '@/assets/icons/db_cluster.png'
import FireWall from '@/assets/icons/fire_wall.png'
import Internet from '@/assets/icons/internet.png'
import LinkLoadBalancing from '@/assets/icons/link_load_balancing.png'
import Mobile from '@/assets/icons/mobile.png'
import PrivateCloud from '@/assets/icons/private_cloud.png'
import PublicCloud from '@/assets/icons/public_cloud.png'
import PublicCloud2 from '@/assets/icons/public_cloud2.png'
import Quota from '@/assets/icons/quota.png'
import Router from '@/assets/icons/router.png'
import Telecom from '@/assets/icons/telecom.png'
import TextIcon from '@/assets/icons/text_icon.png'
import TorJiaohuanji from '@/assets/icons/tor-jiaohuanji.png' // 保留原拼音命名
import Unicom from '@/assets/icons/unicom.png'
import VirtualFirewall from '@/assets/icons/virtual_firewall.png'
import VirtualizationZone from '@/assets/icons/virtualization_zone.png'
import VirtualizationZone2 from '@/assets/icons/virtualization_zone2.png'
import VpcWangguan from '@/assets/icons/vpc-wangguan.png' // 保留原拼音命名
import VpnGateway from '@/assets/icons/vpn_gateway.png'
import VpnUser from '@/assets/icons/vpn_user.png'
import Waf from '@/assets/icons/waf.png'
import WebServerCluster from '@/assets/icons/web_server_cluster.png'
import WifiAp from '@/assets/icons/wifi_ap.png'
import WifiController from '@/assets/icons/wifi_controller.png'

const topoIcons = {
  AccessSwitch,
  AggregationSwitch,
  Aliyun,
  AntiVirusWall,
  AppCluster,
  ApplicationLoadBalancing,
  Apt,
  Client,
  CoreSwitch,
  DbCluster,
  FireWall,
  Internet,
  LinkLoadBalancing,
  Mobile,
  PrivateCloud,
  PublicCloud,
  PublicCloud2,
  Quota,
  Router,
  Telecom,
  TextIcon,
  TorJiaohuanji,
  Unicom,
  VirtualFirewall,
  VirtualizationZone,
  VirtualizationZone2,
  VpcWangguan,
  VpnGateway,
  VpnUser,
  Waf,
  WebServerCluster,
  WifiAp,
  WifiController,
}

export const getIconUrl = (iconName: string) => {
  return topoIcons[iconName as keyof typeof icons]
}

export const iconNames = keys(topoIcons)

export default topoIcons
